﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using VP.Tools;
using Ext.Net;
using crm.model;
using System.Data;

namespace crm.aplicacao
{
    public partial class Login : PaginaBase
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //if (Request.Cookies["crm"] != null)
            //{
            //    txtUsuario.Text = Server.HtmlEncode(Request.Cookies["crm"].Value);
            //    senhaFocus();
            //}
        }

        [DirectMethod]
        public void loginEnter()
        {
            logar();
        }

        [DirectMethod]
        public void usuarioFocus()
        {
            txtUsuario.Focus();
        }

        [DirectMethod]
        public void senhaFocus()
        {
            txtUsuario.Focus();
        }

        void logar()
        {
            var senha = Encryption.Encrypt(txtSenha.Text, "root", 2);

            var dt = new UsuarioDao().login(txtUsuario.Text, senha);

            List<Usuario> lst = new List<Usuario>();

            foreach (DataRow dr in dt.Rows)
            {
                lst.Add(new Usuario()
                {
                    IdUsuario = (Int32)dr["idusuarios"],
                    Nome = (string)dr["nome"],
                    Email = (string)dr["email"],
                    Telefone = (string)dr["telefone"],
                    Celular = (string)dr["celular"],
                    CPF = (string)dr["cpf"],
                    RG = (string)dr["rg"],
                    FkIdPais = (Int32)dr["fkidpais"],
                    FkIdEstado = (Int32)dr["fkidestado"],
                    FkIdCidade = (Int32)dr["fkidcidade"],
                    Senha = (string)dr["senha"],
                    status = (int)dr["fkidstatus"],
                    // colocar todos os atributos do usuario
                });
            }

            if (lst.Count == 0)
            {
                X.Msg.Alert("Status", "Usuário ou senha inválido.").Show();
                txtSenha.Text = "";
                senhaFocus();
            }
            else
            {
                var obj = lst[0];

                #region Criando Cookie
                HttpCookie cookie = new HttpCookie("crm");
                cookie.Value = txtUsuario.Text;
                cookie.Expires = DateTime.Now.AddHours(12);
                Response.Cookies.Add(cookie);
                #endregion

                #region Criando Sessão
                UsuarioLogado = obj;
                #endregion

                #region Redirecionando
                Response.Redirect(Request.QueryString["url"] == null ? "~/CRMSystem/GOportunidades.aspx" : Request.QueryString["url"]);
                #endregion
            }
        }
    }
}